# -*- coding: utf-8 -*-
import math

import pandas as pd
# 指定Excel文件路径
file_path = 'D:\工作台\数据构造.xlsx'

# 读取Excel文件
sheet_name = '12-05'
df = pd.read_excel(file_path, sheet_name=sheet_name)

# print(df.columns)
# 假设我们要读取名为 'ColumnName1' 和 'ColumnName2' 的列
columns_to_read = ['工号', '顾问\n计费人数', '工号.1', '组长、主管计费人数', '工号.2', '经理\n计费人数']
columns_to_read1 = ['工号', '顾问\n流失人数', '工号.1', '组长、主管\n流失人数', '工号.2', '经理\n流失人数']
a = '顾问\n计费人数'
b = '组长、主管计费人数'
c = '经理\n计费人数'
d = '顾问\n流失人数'
e = '组长、主管\n流失人数'
f = '经理\n流失人数'

def deal_data(columns_to_read,a,b,c):
    # 用于存储读取的列数据
    data_lists = {}
    # 遍历所有要读取的列名
    for column_name in columns_to_read:
        # 检查列名是否存在于DataFrame中
        if column_name in df.columns:
            # 读取特定列的数据，并将其保存到列表中
            column_data = df[column_name].tolist()

            data_lists[column_name] = column_data
    # print(data_lists)

    # 初始化一个空字典来存储合并后的数据
    merged_data = {}

    # 将第一个工号和计费人数列表合并到字典中

    for emp_id, fee_count in zip(data_lists['工号'], data_lists[a]):
        merged_data[emp_id] = fee_count

    # 将第二个工号和计费人数列表合并到字典中，如果工号已存在，则更新计费人数
    for emp_id, fee_count in zip(data_lists['工号.1'], data_lists[b]):
        if emp_id in merged_data:
            merged_data[emp_id] = merged_data[emp_id]+ fee_count  # 如果工号已存在，累加计费人数
        else:
            merged_data[emp_id] = fee_count

    # 将第二个工号和计费人数列表合并到字典中，如果工号已存在，则更新计费人数
    for emp_id, fee_count in zip(data_lists['工号.2'], data_lists[c]):
        if emp_id in merged_data:
            merged_data[emp_id] = merged_data[emp_id] + fee_count  # 如果工号已存在，累加计费人数
        else:
            merged_data[emp_id] = fee_count

    # print(merged_data)
    list1=[]
    list2=[]
    list3=[]
    list4=[]

    for k,v in merged_data.items():

        if v == 0:
            pass
        if v == 1:
            list1.append(int(k))
        if v == 2:
            list2.append(int(k))
        if v == 3:
            list3.append(int(k))
        if v == 4:
            list4.append(int(k))

    return list1,list2,list3,list4


